clc; clear; close all;
% 横轴k:  代表耦合强度，忆阻耦合在双 Logistic 子系统之间的作用强弱
% 纵轴z0: 代表忆阻器的初始条件。
%         由于忆阻器中 sin(z) 的周期特性，改变 z0 会周期性地影响系统的同步或动力学行为
% NMSE 越小，表示两 Logistic 子系统几乎完全同步
% NMSE 越大，表示同步误差较大，系统不具备完全同步

% 参数设置
mu = 3.5;           % 固定 mu
x0 = 0.1; y0 = 0;   % 固定 (x0, y0)

% 需要扫描的 k 和 z0 范围
nk = 500;
nz = nk;
k_vals = linspace(0, 0.5, nk);  % k 从 0 到 0.5
z0_vals = linspace(-10, 8, nz); % z0 从 -10 到 8

% 迭代步数
N_transient = 500;  % 瞬态步数
N_compute   = 500;  % 计算 NMSE 步数

% 构建 NMSE 矩阵
NMSE_map = zeros(nz, nk);

for i = 1:nz
    for j = 1:nk
        % 调用 nmse 函数计算
        NMSE_map(i, j) = nmse(x0, y0, z0_vals(i), mu, k_vals(j), ...
                              N_transient, N_compute);
    end
end

figure;
imagesc(k_vals, z0_vals, NMSE_map);
set(gca, 'YDir', 'normal'); 
xlabel('k');
ylabel('z_0');
title('k-z_0 平面 NMSE 分布');
clim([0 0.45]);
colorbar;
